package Vista;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JComboBox;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import Controlador.CSocio;
import Controlador.CUnidad;

import java.awt.Font;

//librerias

import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.ActionListener;
import java.awt.event.WindowListener;

import javax.swing.DebugGraphics;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

import clasesCreadas.JPanelImagen;

import java.awt.Color;
import java.util.Vector;
//librerias
@SuppressWarnings({ "serial", "unused", "rawtypes" })
public class VSocio extends JFrame{

	private JPanel contentPane;
	private JPanel panel;
	private JLabel lblcodigo;
	private JLabel lbldescripcion;
	private JTextField txtcodigo;
	private JTextField txtdescripcion;
	private JButton btnguardar;
	private JButton btnmodificar;
	private JButton btnlimpiar;
	private JButton btneliminar;
	private JLabel lbltitulo;
	private JButton btnbuscar;
	private JLabel lblCooperativa;
	private JComboBox cmbCooperativa;
	private JButton btnAgregarUnidad;
	private JTextField txtCooperativa;
	private JLabel lblTelefono;
	private JTextField txtTelefono;
	private JPanel logo;
	private JScrollPane scpSocio;
	private JTable tblSocio;
	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					VEmpleado frame = new VEmpleado(null);
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		
		});
	
	}
	
	public VSocio(CSocio cso, CUnidad cuni){
		
		
		this.setExtendedState(Frame.MAXIMIZED_BOTH);
		this.setResizable(false);
		
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 636, 475);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		panel = new JPanel();
		panel.setBackground(Color.WHITE);
		contentPane.add(panel, BorderLayout.CENTER);
		panel.setLayout(null);
		
		logo = new JPanelImagen("Imagenes/logo.png");
		logo.setBounds(509, 326, 50, 50);
		panel.add(logo);
		
		scpSocio = new JScrollPane();
		//contentPane.add(scpCooperativas);
		panel.add(scpSocio);
		scpSocio.setBounds(44, 331, 398, 88);
		scpSocio.getHorizontalScrollBar().setSize(20, 10);
		
		DefaultTableModel tblCooperativaModel =
				new DefaultTableModel(
						new String[][] {},
						new String[] { "Cedula", "Nombre"});
		
		tblSocio = new JTable();
		DefaultTableCellRenderer modelocentrar = new DefaultTableCellRenderer();
        modelocentrar.setHorizontalAlignment(SwingConstants.CENTER);
        scpSocio.setViewportView(tblSocio);
        tblSocio.setModel(tblCooperativaModel);
        tblSocio.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tblSocio.getTableHeader().setFont(new java.awt.Font("Tahoma",1,12));
        tblSocio.getTableHeader().setForeground(new java.awt.Color(64,128,128));
        tblSocio.getColumnModel().getColumn(0).setCellRenderer(modelocentrar);
        tblSocio.getColumnModel().getColumn(1).setCellRenderer(modelocentrar);
        tblSocio.setFont(new java.awt.Font("Tahoma",0,12));
        tblSocio.setEnabled(false);
        
		lblcodigo = new JLabel("Cedula");
		lblcodigo.setBounds(105, 78, 70, 15);
		lblcodigo.setFont(new java.awt.Font("Tahoma",1,12));
		lblcodigo.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblcodigo);
		
		txtcodigo = new JTextField();
		txtcodigo.setBounds(239, 73, 171, 26);
		panel.add(txtcodigo);
		
		lbldescripcion = new JLabel("Nombre");
		lbldescripcion.setBounds(105, 132, 85, 15);
		lbldescripcion.setFont(new java.awt.Font("Tahoma",1,12));
		lbldescripcion.setForeground(new java.awt.Color(64,128,128));
		panel.add(lbldescripcion);
		
		txtdescripcion = new JTextField();
		txtdescripcion.setBounds(239, 127, 171, 26);
		panel.add(txtdescripcion);
		
		btnguardar = new JButton("Guardar");
		btnguardar.setBounds(489, 69, 171, 26);
		btnguardar.setForeground(new java.awt.Color(64,128,128));
		btnguardar.setFont(new java.awt.Font("Tahoma",1,12));
		btnguardar.setSize(99, 32);
		btnguardar.addActionListener(cso);
		panel.add(btnguardar);
		
		lbltitulo = new JLabel("Socios");
		lbltitulo.setBounds(249, 12, 93, 32);
		lbltitulo.setFont(new Font("Dialog", Font.BOLD, 24));
		lbltitulo.setForeground(new java.awt.Color(64,128,128));
		panel.add(lbltitulo);
		
		
		btnmodificar = new JButton("Modificar");
		btnmodificar.setBounds(489, 161, 171, 26);
		btnmodificar.setForeground(new java.awt.Color(64,128,128));
		btnmodificar.setFont(new java.awt.Font("Tahoma",1,12));
		btnmodificar.setSize(99, 32);
		btnmodificar.addActionListener(cso);
		panel.add(btnmodificar);
		
		btneliminar = new JButton("Eliminar");
		btneliminar.setBounds(489, 205, 171, 26);
		btneliminar.setForeground(new java.awt.Color(64,128,128));
		btneliminar.setFont(new java.awt.Font("Tahoma",1,12));
		btneliminar.setSize(99, 32);
		btneliminar.addActionListener(cso);
		panel.add(btneliminar);
		
		btnlimpiar = new JButton("Limpiar");
		btnlimpiar.setBounds(489, 249, 171, 26);
		btnlimpiar.setForeground(new java.awt.Color(64,128,128));
		btnlimpiar.setFont(new java.awt.Font("Tahoma",1,12));
		btnlimpiar.setSize(99, 32);
		btnlimpiar.addActionListener(cso);
		panel.add(btnlimpiar);
		
		
		btnbuscar = new JButton("Buscar");
		btnbuscar.setBounds(489, 113, 171, 26);
		btnbuscar.setForeground(new java.awt.Color(64,128,128));
		btnbuscar.setFont(new java.awt.Font("Tahoma",1,12));
		btnbuscar.setSize(99, 32);
		btnbuscar.addActionListener(cso);
		panel.add(btnbuscar);
		
		lblCooperativa = new JLabel("Cooperativa");
		lblCooperativa.setBounds(105, 232, 109, 15);
		lblCooperativa.setFont(new java.awt.Font("Tahoma",1,12));
		lblCooperativa.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblCooperativa);
		
		
		txtCooperativa = new JTextField();
		txtCooperativa.setBounds(239, 227, 171, 26);
		panel.add(txtCooperativa);
		/**
		cmbCooperativa = new JComboBox();
		ComboBoxModel cmbCooperativaModel = new DefaultComboBoxModel();
		cmbCooperativa.setModel(cmbCooperativaModel);
		cmbCooperativa.setBounds(264, 183, 171, 26);
		panel.add(cmbCooperativa);
		**/
		
		
		btnAgregarUnidad = new JButton("Registrar Unidad");
		btnAgregarUnidad.setBounds(80, 277, 274, 32);
		btnAgregarUnidad.setForeground(new java.awt.Color(64,128,128));
		btnAgregarUnidad.setFont(new java.awt.Font("Tahoma",1,12));
		btnAgregarUnidad.setSize(330, 32);
		btnAgregarUnidad.addActionListener(cso);
		panel.add(btnAgregarUnidad);
		
		lblTelefono = new JLabel("Telefono");
		lblTelefono.setBounds(105, 178, 109, 15);
		lblTelefono.setFont(new java.awt.Font("Tahoma",1,12));
		lblTelefono.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblTelefono);
		
		
		txtTelefono = new JTextField();
		txtTelefono.setBounds(239, 173, 171, 26);
		panel.add(txtTelefono);
		
	}
	
	//Metodos Gets de los objetos JTextField y JButton
	
	public JTextField getTxtCodigo(){
		return txtcodigo;
	}
	
	public JTextField getTxtTelefono() {
		return txtTelefono;
	}

	public JTextField getTxtCooperativa() {
		return txtCooperativa;
	}

	public JTextField getTxtDescripcion(){
		return txtdescripcion;
	}
	
	//Metodos gets de los botones
	
	public JButton getBtnGuardar(){
		return btnguardar;
	}
	
	public JButton getBtnEliminar(){
		return btneliminar;
	}
	
	public JButton getBtnModificar(){
		return btnmodificar;
		
	}
	
	public JButton getBtnLimpiar(){
		return btnlimpiar;
	}
	
	public JButton getBtnBuscar(){
		return btnbuscar;
	}


	public JComboBox getCmbCooperativa(){
		return cmbCooperativa;
	}
	
	public JButton getBtnAgregarUnidad(){
		return btnAgregarUnidad;
	}
	
	/** 
	 * Metodo que agrega una fila en la tabla de las socio
	 * @param datos fila que se va agregar en tblSocio
	 */
	public void agregarFilaTblRutas(Vector<String> datos) {
		DefaultTableModel modelo = (DefaultTableModel) tblSocio.getModel();	
		modelo.addRow(datos);
	}
	
	/**
	 * Metodo que permite remover todos los elementos de tblSocio
	 */
	public void limpiarTabla(){
		DefaultTableModel modelo = (DefaultTableModel) tblSocio.getModel();
		while (modelo.getRowCount() > 0) {
			modelo.removeRow(0);
		}
	}
	
	/**
	 * Permitira mostrar un mensaje de informacion al usuario 
	 * @param mensaje a mostrar al usuario
	 */
	public void mostrarMensaje(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje, "Informacion", JOptionPane.INFORMATION_MESSAGE);
	}
	
	/**
	 * Permitira mostrar un mensaje de error al usuario 
	 * @param mensaje a mostrar al usuario
	 */
	public void mostrarMensajeError(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje, "ERROR", JOptionPane.ERROR_MESSAGE);
	}
	
	/**
	 * Permitira mostrar un mensaje de confirmacion al usuario 
	 * @param mensaje a mostrar al usuario
	 * @return respuesta del usuario
	 */
	public int mostrarMensajeConfirmacion(String mensaje) {
		return JOptionPane.showConfirmDialog(this, mensaje, "Selecciona una Opcion", JOptionPane.YES_NO_OPTION);
	}
}
